/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.asistencia.DAO.utils;


import com.toedter.calendar.JDateChooser;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
 *
 * @author samuel
 */
public class Validador  {
    private JComponent com;
    private List<String> validaciones;

    public Validador() {
    }

    public Validador(JComponent com, List<String> validaciones) {
        this.com = com;
        this.validaciones = validaciones;
    }

    public JComponent getCom() {
        return com;
    }

    public void setCom(JComponent com) {
        this.com = com;
    }

    public List<String> getValidaciones() {
        return validaciones;
    }

    public void setValidaciones(List<String> validaciones) {
        this.validaciones = validaciones;
    }
    
    /**
     *
     * @param rut
     * @return
     */
    public boolean valida (JComponent val, List<String> cacho)
    {
        if (val.getClass().toString().equals("JTextField"))
        {
            JTextField tempo = (JTextField) val;
            if (tempo.getText().equals(""))
            {
                
                tempo.requestFocus(true);
                JOptionPane.showMessageDialog(com, "Es necesario llenar el campo, menso");
                return false;
            }
            else
            {
                return true;
            }  
        }
        if (val.getClass().toString().equals("JPasswordField"))
        {
            JPasswordField txpw = (JPasswordField) val;
            if (txpw.equals(""))
            {
                JOptionPane.showMessageDialog(com, "Es necesario ingresar clave");
                return false;
            }
            else
            {
                return true;
            }
        }
        if (val.getClass().toString().equals("JDateChooser"))
        {
            JDateChooser date = (JDateChooser) val;
            if(date.equals(""))
            {
                JOptionPane.showMessageDialog(com, "Es necesario ingresar fecha");
                return false;
            }
            else
            {
                return true;
            }
        }
        if (val.getClass().toString().equals("JComboBox"))
        {
            JComboBox combo = (JComboBox) val;
            if(combo.equals(""))
            {
               JOptionPane.showMessageDialog(com, "Es necesario seleccionar un campo");
               return false;
            }
            else
            {
                return true;
            }
        }
        
        else
        {
            for(String v : cacho){
                if (v.equals("requerido")) //validar letras
                {
                   for(int i=0;i < v.length();i++)
                   {
                       if(!((v.charAt(i) > 64 && v.charAt(i) < 91) ||
                              (v.charAt(i) > 96 && v.charAt(i) < 123) || (v.charAt(i) > 31 &&  v.charAt(i) < 33 )))
                       {
                           JOptionPane.showMessageDialog(com, "Debe ingresar solo letras");
                           return false;
                       }
                       else
                       {
                           return true;
                       }
                   }
                }
            }
        }
        return true;
    }
    
}
